--- shell-completion/bash/pulseaudio.orig	2015-02-13 00:10:35.000000000 +1000
+++ shell-completion/bash/pulseaudio	2015-09-12 11:09:36.948222926 +1000
@@ -1,39 +1,45 @@
 #!/bin/bash
 
 __cards () {
+    (pactl list cards short 2> /dev/null) |\
     while IFS=$'\t' read idx name _; do
         printf "%s %s\n" "$idx" "$name"
-    done < <(pactl list cards short 2> /dev/null)
+    done
 }
 
 __sinks () {
+    (pactl list sinks short 2> /dev/null) |\
     while IFS=$'\t' read _ name _ _ _; do
         printf "%s\n" "$name"
-    done < <(pactl list sinks short 2> /dev/null)
+    done
 }
 
 __sinks_idx () {
+    (pactl list sinks short 2> /dev/null) |\
     while IFS=$'\t' read idx _ _ _ _; do
         printf "%s\n" "$idx"
-    done < <(pactl list sinks short 2> /dev/null)
+    done
 }
 
 __sources () {
+    (pactl list sources short 2> /dev/null) |\
     while IFS=$'\t' read _ name _ _ _; do
         printf "%s\n" "$name"
-    done < <(pactl list sources short 2> /dev/null)
+    done
 }
 
 __sink_inputs () {
+    (pactl list sink-inputs short 2> /dev/null) |\
     while IFS=$'\t' read idx _ _ _ _; do
         printf "%s\n" "$idx"
-    done < <(pactl list sink-inputs short 2> /dev/null)
+    done
 }
 
 __source_outputs () {
+    (pactl list source-outputs short 2> /dev/null) |\
     while IFS=$'\t' read idx _ _ _ _; do
         printf "%s\n" "$idx"
-    done < <(pactl list source-outputs short 2> /dev/null)
+    done
 }
 
 __ports () {
@@ -77,28 +83,32 @@
 }
 
 __all_modules () {
+    (pulseaudio --dump-modules 2> /dev/null) |\
     while read name; do
         name=${name%% *}
         printf "%s\n" "$name"
-    done < <(pulseaudio --dump-modules 2> /dev/null)
+    done
 }
 
 __loaded_modules () {
+    (pactl list modules short 2> /dev/null) |\
     while IFS=$'\t' read idx name _; do
         printf "%s %s\n" "$idx" "$name"
-    done < <(pactl list modules short 2> /dev/null)
+    done
 }
 
 __resample_methods () {
+    (pulseaudio --dump-resample-methods 2> /dev/null) |\
     while read name; do
         printf "%s\n" "$name"
-    done < <(pulseaudio --dump-resample-methods 2> /dev/null)
+    done
 }
 
 _pacat_file_formats () {
+    (pacat --list-file-formats 2> /dev/null) |\
     while IFS=$'\t' read name _; do
         printf "%s\n" "$name"
-    done < <(pacat --list-file-formats 2> /dev/null)
+    done
 }
 
 in_array() {
